using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ZoneWeapon")]
	public class ZoneWeapon : Zone
	{
		public static float INTERMEDIATE_Y_OFFSET => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ZoneWeapon", "INTERMEDIATE_Y_OFFSET");

		public static float INTERMEDIATE_TRANSITION_SEC => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ZoneWeapon", "INTERMEDIATE_TRANSITION_SEC");

		public static float DESTROYED_WEAPON_WAIT_SEC => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ZoneWeapon", "DESTROYED_WEAPON_WAIT_SEC");

		public static float FINAL_TRANSITION_SEC => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ZoneWeapon", "FINAL_TRANSITION_SEC");

		public List<Card> m_destroyedWeapons => method_3<Class271<Card>>("m_destroyedWeapons")?.method_25();

		public ZoneWeapon(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ZoneWeapon(IntPtr address)
			: this(address, "ZoneWeapon")
		{
		}

		public new string ToString()
		{
			return method_13("ToString");
		}

		public new bool CanAcceptTags(int controllerId, TAG_ZONE zoneTag, TAG_CARDTYPE cardType)
		{
			return method_11<bool>("CanAcceptTags", new object[3] { controllerId, zoneTag, cardType });
		}

		public new int RemoveCard(Card card)
		{
			return method_11<int>("RemoveCard", new object[1] { card });
		}

		public new void UpdateLayout()
		{
			method_8("UpdateLayout");
		}
	}
}
